<V.3版>
USBメモリ 全ディレクトリ
ファイル検索
(→プロジェクトファイル(Harmony Ver.3版 MHC v3.8.0) ダウンロード)
USBメモリの全ディレクトリにあるファイルの数 及びファイル名を検索する例を紹介します。 全ディレクトリとはルートディレクトリだけでなく
ルートディレクトリの下で多層の階層構造になっているすべてのディレクトリを指します。 再帰関数(注)が使われています。
本サンプルは 本例は下記のフォルダにあるHarmonyのサンプルプログラムuniversal_audio_decodersの中で使われていたプログラムの
一部を参考にして作成したものです。
"C:\microchip\harmony\v2_06\apps\audio\universal_audio_decoders"
(注)再帰関数(Recursive Function) : 関数f の定義の中で、自分自身f を呼び出している関数
<仕様>
・USBメモリの全ディレクトリにあるファイルの総数をカウントしてキャラクタ液晶に表示する。
・取り扱うファイル、ディレクトリについては以下の制約を設けること。
➀取り扱うファイル最大数: 60
➁取り扱うディレクトリの最大数: 10
③取り扱うディレクトリの最大深さ: 5
・USBメモリのルートディレクトリにあるファイルの名称をすべて表示する。
ファイル名はディレクトリ名を含めたフルパスで表示のこと
・ファイル名の表示はキャラクタ液晶 及び TeraTerm(PCとの接続はUART)とする。
・キャラクタ液晶への ファイル数 及び各ファイル名表示は 2~3sec の間隔をあけて順次1項目づつ表示のこと
・ファイルは押しボタンスイッチ(SW2)をクリックすることにより 開いているファイルを閉じて次のファイルをオープンするかたちで
スキップできること。
またスキップ後、新たにオープンしたファイル名を 閉じたファイル名の代わりにキャラクタ液晶に表示のこと。
・また、他の押しボタンスイッチ(SW1)をクリックすることにより ファイルを オープン/クローズできること。
尚、ファイルがオープンしたらLEDを点灯し、クローズしたら消灯すること。

<外観> PIC32MZ評価ボード(→購入方法)を使った実験品の外観です。
<動作結果>(→ 動画 : 1080pのHD動画を見ることができます。)
| 実験で使用したUSBメモリ内の ディレクトリとファイル構成 (PCのコマンドプロンプトによる表示) |
![]() |
|
| 検索結果 (Tera Termによる表示) |
![]() |
|
| 全ファイル数表示 |
||
| プルパス付ファイル名 表示の例 |
ルート ディレクトリのファイル |
|
| サブ(子) ディレクトリのファイル |
||
| サブ(孫) ディレクトリのファイル |
||
<解説>プロジェクトファイルを精読願います。